Building Program Understanding Tools Using Visitor Combinators

نویسندگان

  • Arie van Deursen
  • Joost Visser
چکیده

Program understanding tools manipulate program representations, such as abstract syntax trees, control-flow graphs, or data-flow graphs. This paper deals with the use of visitor combinators to conduct such manipulations. Visitor combinators are an extension of the well-known visitor design pattern. They are small, reusable classes that carry out specific visiting steps. They can be composed in different constellations to build more complex visitors. We evaluate the expressiveness, reusability, ease of development, and applicability of visitor combinators to the construction of program understanding tools. To that end, we conduct a case study in the use of visitor combinators for control-flow analysis and visualization as used in a commercial Cobol program understanding tool. 1998 ACM Computing Classification System: D.2.9, D.2.2, D.2.5, D.2.7

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Source model analysis using the JJTraveler visitor combinator framework

Program understanding tools manipulate program representations, such as abstract syntax trees, controlflow graphs, or data-flow graphs. This paper deals with the use of visitor combinators to conduct such manipulations. Visitor combinators are an extension of the well-known visitor design pattern. They are small, reusable classes that carry out specific visiting steps. They can be composed in d...

متن کامل

Theory Presentation Combinators

We motivate and give semantics to theory presentation combinators as the foundational building blocks for a scalable library of theories. The key observation is that the category of contexts and fibered categories are the ideal theoretical tools for this purpose.

متن کامل

Tag-Free Combinators for Binding-Time Polymorphic Program Generation

Binding-time polymorphism enables a highly flexible bindingtime analysis for offline partial evaluation. This work provides the tools to translate this flexibility into efficient program specialization in the context of a polymorphic language. Following the cogen-combinator approach, a set of combinators is defined in Haskell that enables the straightforward transcription of a bindingtime polym...

متن کامل

Functional Visitors Revisited

In object-oriented programming the visitor design pattern allows for the addition of new operations on a data hierarchy, but lends itself to scattered traversal code and makes visitors difficult to combine. Previous attempts to solve these issues have separated traversal code from the data structure but still face a lack of modularity in visitor computation making it difficult– if not impossibl...

متن کامل

Hosting a J-1 Exchange Visitor

Hosting a J-1 Exchange Visitor The purpose of the J-1 Exchange Visitor Program is to promote international educational and cultural exchange to develop mutual understanding between the people of the U.S. and other countries. J-1 Exchange Visitor Program: Overview [1] ● J-1 Exchange Visitor Program: Introduction and Basic Concepts [2] ● Inviting a J-1 Exchange Visitor – Information for Faculty [...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002